前幾天提到Python資料型別有以下幾種
前幾天講了簡單資料型別,今天來講複雜的資料型別吧!
List 串列,可儲存序列資料(可儲不同型別的資料),相較於其他程式語言的陣列更為強大。
python: List用中括號[ ]
表示,不同的值用逗號分隔。
範例 :
animals = ["bear", "cat", "dog", "elephant"]
number = [1, 2, 3, 4, 5 ]
印出List內容操作方式
print (animals) # 輸出完整的list
print (animals[0]) # 輸出list索引值0的位置 => 第一個元素
print(animals[-3]) # 輸出list索引值-3的位置 => 倒數第三個元素
print (animals[1:3]) # 輸出第二到第三個元素
print (animals[1:]) # 輸出第二到最後一個元素
print (animals[:3]) # 輸出第一到第三個元素
結果
['bear', 'cat', 'dog', 'elephant']
bear
cat
['cat', 'dog']
['cat', 'dog', 'elephant']
['bear', 'cat', 'dog']
animals.append("fox")
animals.insert(1,"bird")
結果
原本:['bear', 'cat', 'dog', 'elephant']
append:['bear', 'cat', 'dog', 'elephant', 'fox']
insert:['bear', 'bird', 'cat', 'dog', 'elephant', 'fox']
del animals[2] # 刪除第三個元素
animals.pop() # 刪除最尾巴的"fox"
animals.remove("dog") # 刪除"dog"
範例
animals = ['bear', 'bird', 'cat', 'dog', 'elephant', 'fox']
print (animals)
del animals[2] #刪除第三個元素"cat"
print(animals)
animals.pop() #刪除最尾巴的"fox"
print(animals)
animals.remove("dog") #刪除"dog"
print(animals)
結果
原本:['bear', 'bird', 'cat', 'dog', 'elephant', 'fox']
del:['bear', 'bird', 'dog', 'elephant', 'fox']
pop:['bear', 'bird', 'dog', 'elephant']
remove:['bear', 'bird', 'elephant']
animals.reverse()
animals.sort()
index():某值在List第一次出現的索引位置
count():某值在List出現的次數
animals = ['bear', 'cat', 'dog', 'elephant', 'cat']
print(animals.index('cat'))
print(animals.count('cat'))
animals.reverse()
print(animals)
animals.sort()
print(animals)
結果
index "cat" :1
count "cat" : 2
reverse : ['cat', 'elephant', 'dog', 'cat', 'bear']
sort : ['bear', 'cat', 'cat', 'dog', 'elephant']
key-map的形式
dict 字典,和串列很像但不會使用 0,1,…等的序列, index 來選擇項目,須宣告key鍵值來對應儲存的值。
fruits = {"apple":10, "banana":7, "orange":8}
print(fruits["banana"])
結果
7
key
組合,資料型態為dict_keysvalue
組合,資料型態為dict_values(key,value)
組合,資料型態為dict_itemsfruits = {"apple":10, "banana":7, "orange":8}
print(fruits.keys()) #keys()
print(fruits.values()) #values()
print(fruits.items()) #items()
dict_keys(['apple', 'banana', 'orange'])
dict_values([10, 7, 8])
dict_items([('apple', 10), ('banana', 7), ('orange', 8)])
List 通常用在東西是有順序的
Dict 通常用在可以被搜尋的
類似於 list 串列,但tuple 給定元素後不能改變
不同地方在於:list使用[]
,tuple使用()
animals = ('bear', 'cat', 'dog', 'elephant', 'cat')
print(animals)
print(animals[0])
用法和List 很像,但是當你試圖想改變 tuple 裡的元素,會跟你說tuple的item不能被給值
set 的內容元素都必須是獨一無二的
set1 = set()# 建立空的集合
set1 = set('apple')
print(set1)
結果
{'l', 'p', 'e', 'a'}
set 和list 可以互相轉換
num = [1, 2, 5, 6, 0, 1, 5, 2 ,6]
#將list轉成set
set1 = set(num)
print(set1)
set 會去掉重複元素而且排序
{0, 1, 2, 5, 6}